plot(ll, main = "", xlab = "x axis", ylab = "y axis", col = c("grey", "black"), key = list(side = 3, las = 1))
})
}
shinyApp(ui, server) # prikaz spoustejici vvlastni aplikaci
shinyApp(ui, server) # prikaz spoustejici vvlastni aplikaci
library(mgcv)
?mtcars
?gam
model <- (mtcars$mpg ~ s(mtcars$wt))
plot(model, pages=1)
model <- gam(mtcars$mpg ~ s(mtcars$wt))
plot(model, pages=1)
plot(model, pages=2)
plot(model, pages=2, residuals=T)
plot(model, pages=2, scheme=1)
mtcars
fit <- predict(model)
fit
fit <- predict_gam(model)
library(tidymv)
install.packages("tidymv")
library(tidymv)
fit <- predict_gam(model)
model <- gam(mpg ~ s(wt), data=mtcars)
plot(model, pages=2, scheme=1)
fit <- predict_gam(model)
fit
fit <- predict(gam)
fit
fit <- mgcv::predict(gam)
model <- gam(mpg ~ s(wt), data=mtcars)
plot(model, pages=2, scheme=1)
fit <- mgcv::predict(gam)
fit <- predict(gam)
fit <- predict(model)
fit
fit <- predict_gam(model)
fit
plot(fit ~ mtcars$wt)
plot(fit$fit ~ mtcars$wt)
plot(fit$fit ~ fit$wt)
plot(fit$fit ~ fit$wt, type="l")
plot(fit$fit ~ fit$wt, type="l", ylab="mpg")
model <- gam(mpg ~ s(wt), data=mtcars)
plot(model, pages=2, scheme=1)
fit <- predict(model)
fit # tu mas len predikovane hodnoty
fit <- predict_gam(model)
fit # tu mas aj hodnoty pre CI
plot(fit$fit ~ fit$wt, type="l", ylab="mpg")
polygon(c(rev(fit$wt), fit$wt), c(rev(fit$se.fit), fit$se.fit))
plot(fit$fit ~ fit$wt, type="l", ylab="mpg", xlab="wt")
polygon(c(rev(fit$wt), fit$wt), c(rev(fit$se.fit), fit$se.fit))
polygon(c(rev(fit$wt), fit$wt), c(rev(fit$se.fit), fit$se.fit), col="lightseagreen")
polygon(c(rev(fit$wt), fit$wt), c(rev(fit$se.fit+fit$fit), fit$se.fit-fit$fit), col="lightseagreen", border=NA)
plot(fit$fit ~ fit$wt, type="l", ylab="mpg", xlab="wt")
polygon(c(rev(fit$wt), fit$wt), c(rev(fit$se.fit+fit$fit), fit$fit-fit$se.fit), col="lightseagreen", border=NA)
lines(fit$fit ~ fit$wt, col="red")
polygon(c(rev(fit$wt), fit$wt), c(rev(fit$se.fit+fit$fit), fit$fit-fit$se.fit), col="grey85", border=NA)
lines(fit$fit ~ fit$wt, col="red")
data <- mtcars
library(mgcv)
library(tidymv)
data <- mtcars
Y <- data$mpg
X <- data$wt
data <- mtcars
names(data$mpg) <- "Y"
names(data$wt) <- "X"
model <- gam(Y ~ s(X), data=data)
plot(model, pages=2, scheme=1)
fit <- predict(model)
fit <- predict(model)
fit # tu mas len predikovane hodnoty
upr <- fit$fit + (2 * fit$se.fit)
fit <- predict(model, se.fit=T)
fit <- predict(model, se.fit=T)
fit
lwr <- fit$fit - (2 * fit$se.fit)
upr <- fit$fit + (2 * fit$se.fit)
lwr <- fit$fit - (2 * fit$se.fit)
plot(fit$fit ~ data$X, type="l", ylab="mpg", xlab="wt")
data$X
data <- mtcars
names(data$mpg) <- "Y"
names(data$wt) <- "X"
data
data <- mtcars
names(data)["mpg"] <- "Y"
names(data)[1] <- "Y"
data <- mtcars
names(data)[1] <- "Y"
names(data)[6] <- "X"
data
model <- gam(Y ~ s(X), data=data)
plot(model, pages=2, scheme=1)
fit <- predict(model, se.fit=T)
fit
upr <- fit$fit + (2 * fit$se.fit)
lwr <- fit$fit - (2 * fit$se.fit)
plot(fit$fit ~ data$X, type="l", ylab="mpg", xlab="wt")
plot(fit$fit ~ sort(data$X), type="l", ylab="mpg", xlab="wt")
plot(sort(fit$fit) ~ sort(data$X), type="l", ylab="mpg", xlab="wt")
plot(sort(fit$fit) ~ sort(data$X), type="l", ylab="Y", xlab="X")
plot(sort(fit$fit) ~ data$X, type="l", ylab="Y", xlab="X")
plot(sort(fit$fit) ~ sort(data$X), type="l", ylab="Y", xlab="X")
plot(fit$fit ~ sort(data$X), type="l", ylab="Y", xlab="X")
plot(fit$fit ~ sort(data$X, decreasing=T), type="l", ylab="Y", xlab="X")
plot(fit$fit ~ sort(data$X, decreasing=F), type="l", ylab="Y", xlab="X")
plot(sort(fit$fit, decreasing=T) ~ data$X, type="l", ylab="Y", xlab="X")
plot(sort(fit$fit, decreasing=F) ~ data$X, type="l", ylab="Y", xlab="X")
plot(sort(fit$fit) ~ data$X, type="l", ylab="Y", xlab="X")
plot(rev(fit$fit) ~ data$X, type="l", ylab="Y", xlab="X")
coef(model)
data <- mtcars
names(data)[1] <- "Y"
names(data)[6] <- "X"
model <- gam(Y ~ s(X), data=data)
plot(model, pages=2, scheme=1)
fit <- predict(model, se.fit=T)
fit
upr <- fit$fit + (2 * fit$se.fit)
lwr <- fit$fit - (2 * fit$se.fit)
coef(model)
plot(model, residuals = TRUE, pch=1, cex=1, seWithMean = TRUE,
shift = coef(model)[1],
trans = exp)
plot(model, residuals = TRUE, pch=1, cex=1, seWithMean = TRUE,
shift = coef(model)[1])
plot(model, residuals = TRUE, pch=1, cex=1, seWithMean = TRUE,
shift = coef(model)[1], rug=F)
data <- mtcars
names(data)[1] <- "Y"
names(data)[6] <- "X"
model <- gam(Y ~ s(X), data=data)
plot(model, pages=2, scheme=1)
fit <- predict(model, se.fit=T)
fit
upr <- fit$fit + (2 * fit$se.fit)
lwr <- fit$fit - (2 * fit$se.fit)
fit$fit
length(fit$fit)
data <- mtcars
names(data)[1] <- "Y"
names(data)[6] <- "X"
model <- gam(Y ~ s(X), data=data)
plot(model, pages=2, scheme=1)
fit <- predict(model, se.fit=T)
fit
upr <- fit$fit + (2 * fit$se.fit)
lwr <- fit$fit - (2 * fit$se.fit)
newdata <- seq(from=min(data$X), to=max(data$X), length.out=length(fit$fit))
newX <- seq(from=min(data$X), to=max(data$X), length.out=length(fit$fit))
plot(fit$fit ~ newX, type="l", ylab="Y", xlab="X")
newX
data <- mtcars
names(data)[1] <- "Y"
names(data)[6] <- "X"
model <- gam(Y ~ s(X), data=data)
plot(model, pages=2, scheme=1)
fit <- predict(model, newdata=seq(from=min(data$X), to=max(data$X), length.out=length(data$X)), se.fit=T)
fit
upr <- fit$fit + (2 * fit$se.fit)
lwr <- fit$fit - (2 * fit$se.fit)
newX <- seq(from=min(data$X), to=max(data$X), length.out=length(data$X))
plot(fit$fit ~ newX, type="l", ylab="Y", xlab="X")
plot(sort(fit$fit) ~ newX, type="l", ylab="Y", xlab="X")
library(mgcv)
library(tidymv)
model <- gam(mpg ~ s(wt), data=mtcars)
plot(model, pages=2, scheme=1)
fit <- predict(model)
fit # tu mas len predikovane hodnoty
fit <- predict_gam(model)
fit # tu mas aj hodnoty pre CI
plot(fit$fit ~ fit$wt, type="l", ylab="mpg", xlab="wt")
polygon(c(rev(fit$wt), fit$wt), c(rev((fit$se.fit*2)+fit$fit), fit$fit-(fit$se.fit*2)), col="grey85", border=NA)
lines(fit$fit ~ fit$wt, col="red")
library(data.table)
barvy <- rep(c("<?", "<D", "<3", "<>"), each=8)
hodnota <- rep(c(7:10, "Spodek", "Svrsek", "Kral", "Eso"), times=4)
body <- rep(c(7:10,1,1,2,11),times=4)
id <- c(1:32)
barvy <- rep(c("<?", "<D", "<3", "<>"), each=8)
hodnota <- rep(c(7:10, "Spodek", "Svrsek", "Kral", "Eso"), times=4)
body <- rep(c(7:10,1,1,2,11),times=4)
id <- c(1:32)
balicek <<- data.table(barvy, hodnota, body, id, stringsAsFactors = FALSE)
balicek
hracova.ruka <<- balicek[sample(.N,1)]
hracova.ruka
hracova.ruka <<- balicek[sample(.N,1)]
hracova.ruka
barvy <- rep(c("<?", "<D", "<3", "<>"), each=8)
hodnota <- rep(c(7:10, "Spodek", "Svrsek", "Kral", "Eso"), times=4)
body <- rep(c(7:10,1,1,2,11),times=4)
id <- c(1:32)
zacatek.hry <- function() {
balicek <<- data.table(barvy, hodnota, body, id, stringsAsFactors = FALSE)
## Vygeneruje kartu z balicku  ##
hracova.ruka <<- balicek[sample(.N,1)]
## Vytvori novy balicek, ktery obsahuje vsechny karty jen ne tu, ktera byla zrovna vytazena hracem ##
balicek <<- subset(balicek,id != hracova.ruka$id)
## Vygeneruje dalsi kartu z balicku  ##
nova.karta.s <- balicek[sample(.N,1)]
## Opet vytvori novy balicek bez dalsi tazene karty  ##
balicek <<- subset(balicek,id != nova.karta.s$id)
## Spoji obe tazene karty do nove tabulky, coz je hracova ruka  ##
hracova.ruka <<- merge.data.table(nova.karta.s,hracova.ruka,all = TRUE,by=c("barvy","body","hodnota","id"))
if(sum(hracova.ruka$body) == 22){
print(paste("Byli ti rozdany karty: (",hracova.ruka$hodnota[1],hracova.ruka$barvy[1],"), coz odpovida hodnote",hracova.ruka$body[1] ,"a (", hracova.ruka$hodnota[2],hracova.ruka$barvy[2],") coz odpovida hodnote",hracova.ruka$body[2]," - ziskal jsi kralovske oko, nejsilnejsi vyherni kombinaci"))
} else {
print(paste("Byli ti rozdany karty: (",hracova.ruka$hodnota[1],hracova.ruka$barvy[1],"), coz odpovida hodnote",hracova.ruka$body[1] ,"a (", hracova.ruka$hodnota[2],hracova.ruka$barvy[2],") coz odpovida hodnote",hracova.ruka$body[2], " - tvoje skore je v souctu",sum(hracova.ruka$body[1],hracova.ruka$body[2]),"((chces si dobrat dalsi kartu?))"))
}
}
dobrat.dalsi <- function() {
nova.karta <<- balicek[sample(.N,1)]
balicek <<- subset(balicek,id != nova.karta$id)
print(paste("dobral jsis (", nova.karta$hodnota, nova.karta$barvy,"), coz odpovida bodove hodnote", nova.karta$body))
hracova.ruka <<- merge.data.table(nova.karta,hracova.ruka,all = TRUE,by=c("barvy","body","hodnota","id"))
print(paste("celkove mas", sum(hracova.ruka$body),"bodu ((chces si dobrat dalsi kartu?))"))
}
konec <- function() {
ai.ruka <<- balicek[sample(.N,1)]
balicek <<- subset(balicek,id != ai.ruka$id)
nova.karta.s.ai <- balicek[sample(.N,1)]
balicek <<- subset(balicek,id != nova.karta.s.ai$id)
ai.ruka <<- merge.data.table(nova.karta.s.ai,ai.ruka,all = TRUE,by=c("barvy","body","hodnota","id"))
## Prichazi slozita cast, ktera jde urcite udelat lepe :)  ##
## Pokud jsou tazene karty umele inteligence dohromady 17 a vic, netahne dalsi kartu a vyhodnoti stav = rada podminek, jak determinuje, kdo vyhral  ##
## Pokud jsou tazene karty umele inteligence min nez 17, tahne  kartu a pta se znovu ##
if(sum(ai.ruka$body) >= 17) {
if(sum(ai.ruka$body) < sum(hracova.ruka$body) & sum(hracova.ruka$body) <= 21){
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral" ))
} else if(sum(ai.ruka$body) == 22 & sum(hracova.ruka$body[1],hracova.ruka$body[2]) == 22 & sum(hracova.ruka$body) == 22){
print(paste("ziskal jsi kralovske oko, ale tvuj protihrac ziskal take kralovske oko, a to znamena, ze nevyhral nikdo"))
} else if(sum(ai.ruka$body) == 22){
print(paste("ziskal jsi",sum(hracova.ruka$body),", ale tvuj protihrac ziskal kralovske oko, a to znamena, ze jsi prohral"))
} else if(sum(hracova.ruka$body) == 22 & sum(hracova.ruka$body[1],hracova.ruka$body[2]) == 22){
print(paste("ziskal jsi kralovske oko a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral"))
} else if(sum(ai.ruka$body) > sum(hracova.ruka$body) & sum(ai.ruka$body) <= 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi prohral" ))
} else if(sum(ai.ruka$body) < sum(hracova.ruka$body) & sum(hracova.ruka$body) > 21 & sum(ai.ruka$body) <= 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi prohral" ))
} else if(sum(ai.ruka$body) > sum(hracova.ruka$body) & sum(hracova.ruka$body) <= 21 & sum(ai.ruka$body) > 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral" ))
} else {print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze nevyhral nikdo" ))}
} else {
nova.karta.ai <<- balicek[sample(.N,1)]
balicek <<- subset(balicek,id != nova.karta.ai$id)
ai.ruka <<- merge.data.table(nova.karta.ai,ai.ruka,all = TRUE,by=c("barvy","body","hodnota","id"))
if(sum(ai.ruka$body) >= 17) {
if(sum(ai.ruka$body) < sum(hracova.ruka$body) & sum(hracova.ruka$body) <= 21){
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral" ))
} else if(sum(hracova.ruka$body) == 22 & sum(hracova.ruka$body[1],hracova.ruka$body[2]) == 22){
print(paste("ziskal jsi kralovske oko a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral"))
} else if(sum(ai.ruka$body) > sum(hracova.ruka$body) & sum(ai.ruka$body) <= 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi prohral" ))
} else if(sum(ai.ruka$body) < sum(hracova.ruka$body) & sum(hracova.ruka$body) > 21 & sum(ai.ruka$body) <= 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi prohral" ))
} else if(sum(ai.ruka$body) > sum(hracova.ruka$body) & sum(hracova.ruka$body) <= 21 & sum(ai.ruka$body) > 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral" ))
} else {print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze nevyhral nikdo" ))}
} else {
nova.karta.ai <<- balicek[sample(.N,1)]
balicek <<- subset(balicek,id != nova.karta.ai$id)
ai.ruka <<- merge.data.table(nova.karta.ai,ai.ruka,all = TRUE,by=c("barvy","body","hodnota","id"))
if(sum(ai.ruka$body) >= 17) {
if(sum(ai.ruka$body) < sum(hracova.ruka$body) & sum(hracova.ruka$body) <= 21){
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral" ))
} else if(sum(hracova.ruka$body) == 22 & sum(hracova.ruka$body[1],hracova.ruka$body[2]) == 22){
print(paste("ziskal jsi kralovske oko a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral"))
} else if(sum(ai.ruka$body) > sum(hracova.ruka$body) & sum(ai.ruka$body) <= 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi prohral" ))
} else if(sum(ai.ruka$body) < sum(hracova.ruka$body) & sum(hracova.ruka$body) > 21 & sum(ai.ruka$body) <= 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi prohral" ))
} else if(sum(ai.ruka$body) > sum(hracova.ruka$body) & sum(hracova.ruka$body) <= 21 & sum(ai.ruka$body) > 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral" ))
} else {print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze nevyhral nikdo" ))}
} else {
nova.karta.ai <<- balicek[sample(.N,1)]
balicek <<- subset(balicek,id != nova.karta.ai$id)
ai.ruka <<- merge.data.table(nova.karta.ai,ai.ruka,all = TRUE,by=c("barvy","body","hodnota","id"))
if(sum(ai.ruka$body) >= 17) {
if(sum(ai.ruka$body) < sum(hracova.ruka$body) & sum(hracova.ruka$body) <= 21){
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral" ))
} else if(sum(hracova.ruka$body) == 22 & sum(hracova.ruka$body[1],hracova.ruka$body[2]) == 22){
print(paste("ziskal jsi kralovske oko a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral"))
} else if(sum(ai.ruka$body) > sum(hracova.ruka$body) & sum(ai.ruka$body) <= 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi prohral" ))
} else if(sum(ai.ruka$body) < sum(hracova.ruka$body) & sum(hracova.ruka$body) > 21 & sum(ai.ruka$body) <= 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi prohral" ))
} else if(sum(ai.ruka$body) > sum(hracova.ruka$body) & sum(hracova.ruka$body) <= 21 & sum(ai.ruka$body) > 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral" ))
} else {print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze nevyhral nikdo" ))}
} else {
nova.karta.ai <<- balicek[sample(.N,1)]
balicek <<- subset(balicek,id != nova.karta.ai$id)
ai.ruka <<- merge.data.table(nova.karta.ai,ai.ruka,all = TRUE,by=c("barvy","body","hodnota","id"))
if(sum(ai.ruka$body) >= 17) {
if(sum(ai.ruka$body) < sum(hracova.ruka$body) & sum(hracova.ruka$body) <= 21){
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral" ))
} else if(sum(hracova.ruka$body) == 22 & sum(hracova.ruka$body[1],hracova.ruka$body[2]) == 22){
print(paste("ziskal jsi kralovske oko a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral"))
} else if(sum(ai.ruka$body) > sum(hracova.ruka$body) & sum(ai.ruka$body) <= 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi prohral" ))
} else if(sum(ai.ruka$body) < sum(hracova.ruka$body) & sum(hracova.ruka$body) > 21 & sum(ai.ruka$body) <= 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi prohral" ))
} else if(sum(ai.ruka$body) > sum(hracova.ruka$body) & sum(hracova.ruka$body) <= 21 & sum(ai.ruka$body) > 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral" ))
} else {print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze nevyhral nikdo" ))}
} else {
nova.karta.ai <<- balicek[sample(.N,1)]
balicek <<- subset(balicek,id != nova.karta.ai$id)
ai.ruka <<- merge.data.table(nova.karta.ai,ai.ruka,all = TRUE,by=c("barvy","body","hodnota","id"))
if(sum(ai.ruka$body) >= 17) {
if(sum(ai.ruka$body) < sum(hracova.ruka$body) & sum(hracova.ruka$body) <= 21){
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral" ))
} else if(sum(hracova.ruka$body) == 22 & sum(hracova.ruka$body[1],hracova.ruka$body[2]) == 22){
print(paste("ziskal jsi kralovske oko a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral"))
} else if(sum(ai.ruka$body) > sum(hracova.ruka$body) & sum(ai.ruka$body) <= 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi prohral" ))
} else if(sum(ai.ruka$body) < sum(hracova.ruka$body) & sum(hracova.ruka$body) > 21 & sum(ai.ruka$body) <= 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi prohral" ))
} else if(sum(ai.ruka$body) > sum(hracova.ruka$body) & sum(hracova.ruka$body) <= 21 & sum(ai.ruka$body) > 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral" ))
} else {print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze nevyhral nikdo" ))}
} else {
nova.karta.ai <<- balicek[sample(.N,1)]
balicek <<- subset(balicek,id != nova.karta.ai$id)
ai.ruka <<- merge.data.table(nova.karta.ai,ai.ruka,all = TRUE,by=c("barvy","body","hodnota","id"))
if(sum(ai.ruka$body) >= 17) {
if(sum(ai.ruka$body) < sum(hracova.ruka$body) & sum(hracova.ruka$body) <= 21){
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral" ))
} else if(sum(hracova.ruka$body) == 22 & sum(hracova.ruka$body[1],hracova.ruka$body[2]) == 22){
print(paste("ziskal jsi kralovske oko a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral"))
} else if(sum(ai.ruka$body) > sum(hracova.ruka$body) & sum(ai.ruka$body) <= 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi prohral" ))
} else if(sum(ai.ruka$body) < sum(hracova.ruka$body) & sum(hracova.ruka$body) > 21 & sum(ai.ruka$body) <= 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi prohral" ))
} else if(sum(ai.ruka$body) > sum(hracova.ruka$body) & sum(hracova.ruka$body) <= 21 & sum(ai.ruka$body) > 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral" ))
} else {print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze nevyhral nikdo" ))}
} else {
nova.karta.ai <<- balicek[sample(.N,1)]
balicek <<- subset(balicek,id != nova.karta.ai$id)
ai.ruka <<- merge.data.table(nova.karta.ai,ai.ruka,all = TRUE,by=c("barvy","body","hodnota","id"))
if(sum(ai.ruka$body) >= 17) {
if(sum(ai.ruka$body) < sum(hracova.ruka$body) & sum(hracova.ruka$body) <= 21){
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral" ))
} else if(sum(hracova.ruka$body) == 22 & sum(hracova.ruka$body[1],hracova.ruka$body[2]) == 22){
print(paste("ziskal jsi kralovske oko a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral"))
} else if(sum(ai.ruka$body) > sum(hracova.ruka$body) & sum(ai.ruka$body) <= 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi prohral" ))
} else if(sum(ai.ruka$body) < sum(hracova.ruka$body) & sum(hracova.ruka$body) > 21 & sum(ai.ruka$body) <= 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi prohral" ))
} else if(sum(ai.ruka$body) > sum(hracova.ruka$body) & sum(hracova.ruka$body) <= 21 & sum(ai.ruka$body) > 21) {
print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze jsi vyhral" ))
} else {print(paste("ziskal jsi",sum(hracova.ruka$body),"a tvuj protihrac ziskal",sum(ai.ruka$body),"to znamena, ze nevyhral nikdo" ))}
}
}
}
}
}
}
}
}
}
ukaz.karty.ai <- function(){
ruka.ai <- ai.ruka[,-4]
print(ruka.ai)
}
ukaz.karty <- function(){
ruka <- hracova.ruka[,-4]
print(ruka)
}
zacatek.hry()
dobrat.dalsi()
setwd("~/Desktop/LPI/LPI skript/GitHub LPI scripts/Changed")
# pexeso
# matice
barvy<- c("black", "red", "green", "blue", "cyan", "magenta", "yellow", "gray")
barvy_2<- rep(barvy,each=2)
barvy_2
# nahodne seradit policka
sample(barvy_2)
nahodile_barvy<-sample(barvy_2)
nahodile_barvy
# ted ta matice
vyplnena_matice<-matrix(nahodile_barvy,4,4)
vyplnena_matice
vyplnena_matice
nova_matice<-matrix(NA,4,4)
nova_matice
hracova_matice<-nova_matice
# jak na hru
game_over <- FALSE
while (!game_over) {
# chci aby si hrac vybral prvni policko
vyber_pole <- as.numeric(strsplit(readline("Vyber pole (radek, sloupec): "), ",")[[1]])
# vybrane pole/barva
chosen_color <- vyplnena_matice[vyber_pole[1], vyber_pole[2]]
cat("Otocil/a jsi kartu s barvou: ", chosen_color, "\n")
# vytvoreni dalsi matice, kde budou hracovy tahy
hracova_matice<-nova_matice
hracova_matice[vyber_pole[1],vyber_pole[2]]<-vyplnena_matice[vyber_pole[1],vyber_pole[2]]
hracova_matice
# hracova matice po prvnim tahu:
print(hracova_matice)
# hrac si vybere druhe pole
vyber_pole2 <- as.numeric(strsplit(readline("Vyber druhe pole (radek, sloupec): "), ",")[[1]])
# jaka je barva druheho pole?
chosen_color2 <- vyplnena_matice[vyber_pole2[1], vyber_pole2[2]]
cat("Otocil/a jsi kartu s barvou: ", chosen_color2, "\n")
# opet hracova matice po druhem taku:
hracova_matice[vyber_pole2[1],vyber_pole2[2]]<-vyplnena_matice[vyber_pole2[1],vyber_pole2[2]]
print(hracova_matice)
# kontrola, zdali jsou pole stejna
if (chosen_color == chosen_color2) {
print("Spravne! Tato pole jsou stejna. Jen tak dal")
hracova_matice->nova_matice
} else {
print("Skoda, tato pole jsou rozdilna. Zkus to znovu. :)")
}
# kdyz uz ma hrac vsechna pole pospojovana
if (identical(sort(c(vyplnena_matice)), sort(c(hracova_matice)))) {
game_over <- TRUE
print("!!Jsi vitez!! Gratuluji! Jiz jsi nasel vsechny pary.")
}
}
# pexeso
# nejprve seznam barev
barvy_extra<- c("black", "red", "green", "blue", "magenta", "yellow", "gray","cyan","grey94" )
barvy<- c("black", "red", "green", "blue", "magenta", "yellow", "gray","cyan" )
barvy_2<- rep(barvy,each=2)
barvy_2
# nahodne seradit policka
sample(barvy_2)
nahodile_barvy<-sample(barvy_2)
nahodile_barvy
# matice
vyplnena_matice<-matrix(nahodile_barvy,4,4)
vyplnena_matice
vyplnena_matice_num <- matrix(match(vyplnena_matice, barvy_extra), nrow = 4)
vyplnena_matice_num
rotate <- function(x) t(apply(x, 2, rev))
image(rotate(vyplnena_matice_num), col = barvy_extra, zlim = c(1, 9), axes = FALSE)
vyplnena_matice
nova_matice<-matrix(NA,4,4)   # hodnota NA predstavuje pole, ktere je rubem vzhuru
nova_matice
hracova_matice<-nova_matice
#
replace_NA <- function(x) {
x[is.na(x)] <- "grey94"
return(x)
}
replace_NA(hracova_matice) -> hrac_mat
hrac_mat
hracova_matice_num3 <- matrix(match(hrac_mat, barvy_extra), nrow = 4)
hracova_matice_num3
image(rotate(hracova_matice_num3), col = barvy_extra, zlim = c(1, 9), axes = FALSE)
# jak na hru
game_over <- FALSE
while (!game_over) {
# print(vyplnena_matice)  # toto neni nutne, zde jen pro kontrolu, zda program funguje jak ma
# chci aby si hrac vybral prvni policko
vyber_pole <- as.numeric(strsplit(readline("Vyber pole (radek, sloupec): "), ",")[[1]])
# vybrane pole/barva
chosen_color <- vyplnena_matice[vyber_pole[1], vyber_pole[2]]
cat("Otocil/a jsi kartu s barvou: ", chosen_color, "\n")
hracova_matice<-nova_matice
hracova_matice[vyber_pole[1],vyber_pole[2]]<-vyplnena_matice[vyber_pole[1],vyber_pole[2]]
hracova_matice
# hracova matice po prvnim tahu:
print(hracova_matice)
replace_NA(hracova_matice)->hrac_mat
hrac_mat
hracova_matice_num3<- matrix(match(hrac_mat,barvy_extra), nrow = 4)
hracova_matice_num3
# vytisknuti hraciho pole po prvnim tahu:
image(rotate(hracova_matice_num3), col = barvy_extra, zlim = c(1, 9), axes = FALSE)
# hrac si vybere druhe pole
vyber_pole2 <- as.numeric(strsplit(readline("Vyber druhe pole (radek, sloupec): "), ",")[[1]])
# jaka je barva druheho pole?
chosen_color2 <- vyplnena_matice[vyber_pole2[1], vyber_pole2[2]]
cat("Otocil/a jsi kartu s barvou: ", chosen_color2, "\n")
# opet hracova matice po druhem tahu:
hracova_matice[vyber_pole2[1],vyber_pole2[2]]<-vyplnena_matice[vyber_pole2[1],vyber_pole2[2]]
print(hracova_matice)
#print(hracova_matice_num3)
#
replace_NA(hracova_matice)->hrac_mat
hrac_mat
hracova_matice_num3<- matrix(match(hrac_mat,barvy_extra), nrow = 4)
hracova_matice_num3
# vytisknuti hraciho pole po druhem tahu:
image(rotate(hracova_matice_num3), col = barvy_extra, zlim = c(1, 9), axes = FALSE)
# kontrola, zdali jsou pole stejna
if (chosen_color == chosen_color2) {
print("Spravne! Tato pole jsou stejna. Jen tak dal")
hracova_matice->nova_matice
hracova_matice_num->hracova_matice_num3
} else {
print("Skoda, tato pole jsou rozdilna. Zkus to znovu. :)")
}
# kdyz uz ma hrac vsechna pole pospojovana
if (identical(sort(c(vyplnena_matice)), sort(c(hracova_matice)))) {
game_over <- TRUE
print("!!Jsi vitez!! Gratuluji! Jiz jsi nasel vsechny pary.")
image(rotate(vyplnena_matice_num), col = barvy_extra, zlim = c(1, 9), axes = FALSE)
}
}
